# 1. 定义一个函数 add，接收两个参数 a 和 b，返回它们的和。
def add(a,b):
    return a+b

# 2. 编写一个函数 is_even(n)，判断传入的整数是否为偶数，返回 True 或 False。
def is_even(n):
    if n % 2 == 0:
        return True
    else:
        return False

# 3. 编写一个函数 factorial(n)，计算并返回正整数 n 的阶乘（例如 5! = 5×4×3×2×1）。
def factorial(n):
    jc=1
    for a in range(1,n+1):
        jc=a*jc
    print(jc)

# 4. 编写一个函数 find_max(lst)，接收一个列表，返回其中的最大值（不使用内置函数 max）。
def find_max(lst):
# 方法1
#     lst.sort()
#     return lst[-1]
# 方法2
    max=lst[0]
    for a in lst:
        if a>max:
            max=a
    print(max)
lst=[12312,4,234,325,43]
# find_max(lst)


# 5. 写一个函数 reverse_string(s)，接收一个字符串，返回它的反转字符串。例如输入 "hello"，返回 "olleh"。
def reverse_string(s):
    str=""
    for i in range(len(s)-1,-1,-1):
        str+= s[i]
    print(str)
s="hello"
# reverse_string(s)

# 6. 编写一个函数 count_vowels(s)，统计字符串中元音字母（a, e, i, o, u）出现的个数（不区分大小写）。
# return 后面多个数据,直接返回的类型是元组
# def count_vowels(s):
#     set1 = {"a", "e", "i", "o", "u"}
#     count1 = 0
#     for a in s:
#         if a.lower() in set1:
#             count1+=1
#     print(count1)
# s="dtfyguhjgcfytuyhUjbvcxdtjyg"
# count_vowels(s)
# sum((242,12412,41,2,4,1241))  是一个元组,要手动加括号
# 7. 编写一个函数 fibonacci(n)，返回长度为 n 的斐波那契数列列表，例如输入 5，返回 [0, 1, 1, 2, 3]。
# def fibonacci(n):
#     if n == 1:
#         return [0]
#     a = [0, 1]
#     for i in range(2,n):#斐波那契数列要求从第三个数开始
#         num = a[i-1]+a[i-2]
#         a.append(num)
#     return a
# print(fibonacci(100))

# 8. 写一个函数 is_prime(n)，判断一个整数是否是质数（素数）。
def is_prime(n):
    if n ==1:
        return False
    for i in range(2,n//2):
        if n % i == 0:
            return False
    return True
# print(is_prime(111))


